package cn.sofwin.day0116;

public class Test01 {
    public static void main(String[] args) {
        int[] numbers = {4,5,7,2,3,8};
        display(numbers);


        //swap(numbers,1,5);
        reverse(numbers);


        display(numbers);



        //display(numbers);
        /*System.out.println("最大值为：" + max(numbers));
        System.out.println("最小值为：" + min(numbers));
        System.out.println("平均数为：" + avg(numbers));*/
    }

    /**
     * 数组逆序
     * @param array
     */
    static  void reverse(int[] array){
        for (int i = 0; i < array.length / 2; i++) {
            swap(array, i , array.length - 1 - i);
        }
    }


    /**
     * 交换数组中两个位置上的元素值
     * @param array  被操作的数组
     * @param i   位置1
     * @param j   位置2
     */
    static  void swap(int[] array, int i, int j){
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }

    /**
     * 计算数组元素的平均值
     * @param array
     * @return
     */
    static  int avg(int array[]){
        int sum = 0;
        for(int n : array){
            sum += n;
        }
        sum /=array.length;
        return  sum;
    }

    /**
     * 数组中的最小数
     * @param array
     * @return
     */
    static  int min(int[] array){
        int n = array[0];
        for (int i = 0; i < array.length; i++) {
            n = array[i] < n ? array[i]:n;

        }
        return  n;
    }

    /**
     * 求数组中的最大数
     * @param array
     * @return
     */
    static int max(int[] array){
        int n = array[0];
        for (int i = 1; i < array.length; i++) {
            n = array[i] > n ? array[i]:n;

        }
        return  n;

    }

    /**
     * 打印数组（数组的遍历）
     * @param array
     * */
    static void display(int[] array){
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]);
            if(i < array.length-1){
                System.out.print(",\t");
            }
        }
        System.out.println("");
    }



}
